import 'package:flutter/material.dart';

/// 省市列表变量
const cityNames = {
  '北京': [
    '东城区',
    '西城区',
    '朝阳区',
    '丰台区',
    '石景山区',
    '海淀区',
    '门头沟区',
    '房山区',
    '通州区',
    '顺义区',
    '昌平区',
    '大兴区',
    '怀柔区',
    '平谷区',
    '密云区',
    '延庆区'
  ],
  '上海': [
    '浦东新区',
    '黄浦区',
    '徐汇区',
    '长宁区',
    '静安区',
    '普陀区',
    '闸北区',
    '虹口区',
    '杨浦区',
    '宝山区',
    '闵行区',
    '嘉定区',
    '金山区',
    '松江区',
    '青浦区',
    '奉贤区'
  ],
  '广州': ['天河区', '白云区', '黄埔区', '荔湾区', '越秀区', '海珠区', '花都区', '南沙区', '从化区'],
  '深圳': ['罗湖区', '福田区', '南山区', '盐田区', '龙岗区', '龙华区', '大鹏新区', '大鹏新区'],
};

class ExpansionTilePage extends StatelessWidget {
  const ExpansionTilePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('ExpansionTile'),
        ),
        body: ListView(
          children: _buildList(),
        ));
  }

  List<Widget> _buildList() {
    // 生成 折叠面板 省市
    return cityNames.entries.map((e) {
      return ExpansionTile(
        title: Text(e.key),
        children: e.value.map((city) {
          return FractionallySizedBox(
            widthFactor: 1,
            child: Container(
              height: 50,
              margin: EdgeInsets.only(bottom: 5),
              color: Colors.yellow,
              child: Text(city),
            ),
          );
        }).toList(),
      );
    }).toList();
  }
}
